This invention generally concerns the exportation of computer data, and more specifically the exportation of data associated with geometric entities from a computer program such as a computer-assisted design (CAD) program or a videogame.
The technique and systems for modeling and/or manipulation of geometric entities such as CAD and videogames are now quite widespread in all fields of the industry, from computer-assisted design of products such as automobiles or aircraft to 3D virtual reality action games, and including simulation programs such as flight simulators.
In particular, although the CAD technique is relatively young, under twenty years old, the need for upward compatibility by the prior CAD systems led to the retention of existing data structures that only partially used the possibilities of the modern computer systems, despite the rapid evolution of information technologies.
Additionally, whether in the field of CAD or videogames, the format of these data structures used is universally proprietary, meaning it is specific to the software involved or, as a minimum, to the software publisher involved. However, at least in the CAD field, these graphic programs generally have the functionalities to import various data formats associated with geometric entities.
On the other hand, clearly for customer retention purposes, the publishers of these programs, whoever they may be, are not inclined to publish the specifications for the data formats they use, and, in the same vein, they are generally rather reticent to offer utilities making it possible to export all of the data from their programs to a competitor's program.
This situation means that it is very difficult to transfer all of the data used by these programs from a computer system for modeling and/or manipulation of geometric entities to a similar computer system. However, this transfer is frequently made necessary, for example, to transfer data among different CAD systems as they exist at the various subcontractors of a single customer, even within one company, as happens in particular for reasons that generally relate to backward compatibility in the major companies having used CAD for a long time.
It can be expected that the evolution of videogame technology will ultimately make it possible to import characters or objects into a videogame, which will then raise the problem again of exporting this type of entity from another videogame.
This need to transfer data between different systems for modeling and/or manipulation of data associated with geometric entities means that there are quite significant development costs on the conversion utilities for these data, due to the absence of precise specifications concerning the format of the databases involved, and it also means that these utilities should be rewritten partially or in full at the time of upgrades or modifications made to the structure of the databases of the systems involved. Also, this conversion is generally incomplete, due to the absence of precise specifications for the format of the data to be converted.
Furthermore, there is a need in companies using CAD systems for an open data structure and format, widespread and well-defined, as a means of exchange among different CAD systems as well as to ensure minimal independence regarding the publishers of the CAD programs they use, to allow CAD data capture from one program to another in the event the publisher of the CAD program used goes out of business.
In view of the foregoing, it is clear there is a need for a process and a system to make it possible, in an affordable and reliable manner, to export data associated with geometric entities from any program for modeling and/or manipulation of data associated with geometric entities, with no knowledge of the data structures used by this program, without any modification of this program in any way and without development of a specific interface to the program involved.
There are known utilities such as glTrace or glAnalysePro that make it possible to intercept and store the graphic primitives or function calls made by a graphic application. However, the function of these utilities is only to debug the graphic application involved, and not to allow the exportation of data associated with geometric entities to other systems of the same kind.